/*    */ package com.zimbra.cs.lmtpserver;
/*    */ 
/*    */ import com.zimbra.common.localconfig.KnownKey;
/*    */ import com.zimbra.common.localconfig.LC;
/*    */ import com.zimbra.common.service.ServiceException;
/*    */ import com.zimbra.common.stats.RealtimeStatsCallback;
/*    */ import com.zimbra.cs.server.ProtocolHandler;
/*    */ import com.zimbra.cs.server.ServerThrottle;
/*    */ import com.zimbra.cs.server.TcpServer;
/*    */ import com.zimbra.cs.stats.ZimbraPerf;
/*    */ import java.util.HashMap;
/*    */ import java.util.Map;
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ public final class TcpLmtpServer
/*    */   extends TcpServer
/*    */   implements LmtpServer, RealtimeStatsCallback
/*    */ {
/*    */   public TcpLmtpServer(LmtpConfig config)
/*    */     throws ServiceException
/*    */   {
/* 32 */     super(config);
/* 33 */     ZimbraPerf.addStatsCallback(this);
/* 34 */     ServerThrottle.configureThrottle(config.getProtocol(), LC.lmtp_throttle_ip_limit.intValue(), 0, getThrottleSafeHosts(), getThrottleWhitelist());
/*    */   }
/*    */   
/*    */   public String getName()
/*    */   {
/* 39 */     return "LmtpServer";
/*    */   }
/*    */   
/*    */   protected ProtocolHandler newProtocolHandler()
/*    */   {
/* 44 */     return new TcpLmtpHandler(this);
/*    */   }
/*    */   
/*    */   public LmtpConfig getConfig()
/*    */   {
/* 49 */     return (LmtpConfig)super.getConfig();
/*    */   }
/*    */   
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */   public Map<String, Object> getStatData()
/*    */   {
/* 58 */     Map<String, Object> data = new HashMap();
/* 59 */     data.put("lmtp_conn", Integer.valueOf(numActiveHandlers()));
/* 60 */     data.put("lmtp_threads", Integer.valueOf(numThreads()));
/* 61 */     return data;
/*    */   }
/*    */ }


/* Location:              /home/mint/zimbrastore.jar!/com/zimbra/cs/lmtpserver/TcpLmtpServer.class
 * Java compiler version: 7 (51.0)
 * JD-Core Version:       0.7.1
 */